package com.dhecp.project.system.mapper;

import java.util.List;
import java.util.Map;

import com.dhecp.core.genericDao.GenericDao;
import com.dhecp.project.system.domain.SysUserAndRoleJurisdiction;
import com.dhecp.project.system.domain.SysUserAndRoleJurisdictionForShiro;

/**
 * 权限列表
 * @author DH-Xxj
 * @version 2019年10月28日
 */
public interface SysUserAndRoleJurisdictionMapper extends GenericDao<SysUserAndRoleJurisdiction, String> {

	/**
	 * 查询指定用户功能权限shiro标识  功能权限控制
	 * @param userId 必要参数：当前登录用户编号
	 * @param mandator 必要参数：委托（被代理）人
	 * @return List-SysUserAndRoleJurisdictionForShiro
	 * @author DH-Xxj
	 */
	List<SysUserAndRoleJurisdictionForShiro> findJurisdictionForShiro(Map<String,Object> params);
	
	/**
	 * 查询指定用户或角色权限
	 * @param moduleTable 功能唯一值
	 * @param pid 用户编号或角色guid号
	 * @param vtype 类型（“user”，“role”）
	 * @return SysUserAndRoleJurisdiction 实体
	 * @author DH-Xxj
	 */
	SysUserAndRoleJurisdiction findJurisdiction(SysUserAndRoleJurisdiction sysUserAndRoleJurisdiction);
	/**
	 * 查询指定角色权限列表
	 * @param pid 必要参数：角色 guid号
	 * @param menuGuid 或 menuPguid 所属菜单或所属菜单上级 guid 二选一
	 * @return List-SysUserAndRoleJurisdiction
	 * @author DH-Xxj
	 */
	List<SysUserAndRoleJurisdiction> findJurisdictionListForRole(Map<String,Object> params);

	/**
	 * 查询指定用户权限列表
	 * @param pid 必要参数：用户编号 userId
	 * @param menuGuid 或 menuPguid 所属菜单或所属菜单上级 guid 二选一
	 * @return List-SysUserAndRoleJurisdiction
	 * @author DH-Xxj
	 */
	List<SysUserAndRoleJurisdiction> findJurisdictionListForUser(Map<String,Object> params);
	
	/**
	 * 修改功能权限列表信息
	 * @param sysUserAndRoleJurisdiction 实体
	 * @return
	 * @author DH-Xxj
	 */
	int updateForModule(SysUserAndRoleJurisdiction sysUserAndRoleJurisdiction);
	
	/**
	 * 修改数据权限列表信息
	 * @param sysUserAndRoleJurisdiction 实体
	 * @return
	 * @author DH-Xxj
	 */
	int updateForData(SysUserAndRoleJurisdiction sysUserAndRoleJurisdiction);
	
}
